<?php
/**
* @version		$Id:mod_menu.php 2463 2006-02-18 06:05:38Z webImagery $
* @package		Joomla
* @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license		GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

require_once(dirname(__FILE__).DS.'menu.php');

class modMenuHelper
{
	/**
	 * Show the menu
	 * @param string The current user type
	 */
	function buildMenu()
	{
		global $mainframe;

		$lang		= & JFactory::getLanguage();//获取语言
		$user		= & JFactory::getUser();//获取当前用户
		$db			= & JFactory::getDBO();//获取数据库
		$usertype	= $user->get('usertype');//获取当前用户类型

		// cache some acl checks
		$canCheckin			= $user->authorize('com_checkin', 'manage');
		$canConfig			= $user->authorize('com_config', 'manage');
		$manageTemplates	= $user->authorize('com_templates', 'manage');
		$manageTrash		= $user->authorize('com_trash', 'manage');
		$manageMenuMan		= $user->authorize('com_menus', 'manage');
		$manageLanguages	= $user->authorize('com_languages', 'manage');
		$installModules		= $user->authorize('com_installer', 'module');
		$editAllModules		= $user->authorize('com_modules', 'manage');
		$installPlugins		= $user->authorize('com_installer', 'plugin');
		$editAllPlugins		= $user->authorize('com_plugins', 'manage');
		$installComponents	= $user->authorize('com_installer', 'component');
		$editAllComponents	= $user->authorize('com_components', 'manage');
		$canMassMail		= $user->authorize('com_massmail', 'manage');
		$canManageUsers		= $user->authorize('com_users', 'manage');

		// Menu Types//获取整个站点的菜单列表
//		require_once( JPATH_ADMINISTRATOR.DS.'components'.DS.'com_menus'.DS.'helpers'.DS.'helper.php' );
//		$menuTypes 	= MenusHelper::getMenuTypelist();

		/*
		 * Get the menu object
		 */
		$menu = new JAdminCSSMenu();
		
		/*
		 * banwords SubMenu
		 */
		//添加admin主菜单及其子菜单
		$menu->addChild(new JMenuNode(JText::_('关键字管理')), true);
		$menu->addChild(new JMenuNode(JText::_('非法关键字'), 'index.php?option=com_banwords', 'class:cpanel'));//class：图标类型
		$menu->addSeparator();
//		$menu->addChild(new JMenuNode(JText::_('过滤测试'), 'index.php?option=com_banwords&amp;view=checkbanword', 'class:media'));
//
//		$menu->addChild(new JMenuNode(JText::_('关键字字典'), 'index.php?option=com_banwords&amp;view=banwordall', 'class:media'));

		$menu->getParent();
		
		/*
		 * users SubMenu
		 */
		$menu->addChild(new JMenuNode(JText::_('用户管理')), true);
		$menu->addChild(new JMenuNode(JText::_('前台用户管理'), 'index.php?option=com_users', 'class:user'));
		$menu->addSeparator();
		$menu->addChild(new JMenuNode(JText::_('后台管理员管理'), 'index.php?option=com_adminusers', 'class:user'));

		$menu->getParent();
		
		/*
		 * messages SubMenu
		 */
		$menu->addChild(new JMenuNode(JText::_('消息管理')), true);
		$menu->addChild(new JMenuNode(JText::_('消息列表'), 'index.php?option=com_notices', 'class:messages'));
		
		$menu->getParent();
		
		/*
		 * hotwords SubMenu
		 */
		$menu->addChild(new JMenuNode(JText::_('热词管理')), true);
		$menu->addChild(new JMenuNode(JText::_('热词列表'), 'index.php?option=com_hotwords', 'class:messages'));
		
		$menu->getParent();
		
//		/*
//		 * grade SubMenu
//		 */
//		$menu->addChild(new JMenuNode(JText::_('积分管理')), true);
//		$menu->addChild(new JMenuNode(JText::_('积分列表'), 'index.php?option=com_grade', 'class:user'));
//		
//		$menu->getParent();
		
		/*
		 * sysnotices SubMenu
		 */
		$menu->addChild(new JMenuNode(JText::_('系统通知管理')), true);
		$menu->addChild(new JMenuNode(JText::_('系统通知列表'), 'index.php?option=com_sysnotices', 'class:config'));
		
		$menu->getParent();
		
		/*
		 * report SubMenu
		 */
		$menu->addChild(new JMenuNode(JText::_('非法举报管理')), true);
		$menu->addChild(new JMenuNode(JText::_('非法消息列表'), 'index.php?option=com_messreports', 'class:messages'));
		$menu->addSeparator();
		$menu->addChild(new JMenuNode(JText::_('非法用户列表'), 'index.php?option=com_userreports', 'class:user'));
		
		$menu->getParent();
		
		/*
		 * hottopic SubMenu
		 */
	 
		$menu->addChild(new JMenuNode(JText::_('热门话题&正在播报')), true);
		$menu->addChild(new JMenuNode(JText::_('热门话题管理'), 'index.php?option=com_hottopics', 'class:messages'));
		$menu->addSeparator();
		$menu->addChild(new JMenuNode(JText::_('正在播报管理'), 'index.php?option=com_broadcast', 'class:messages'));
		
		$menu->getParent();
		
		/*
		 * dataanalysis SubMenu
		 */
		$menu->addChild(new JMenuNode(JText::_('数据统计与分析')), true);
		
		$menu->getParent();
		/*
		 * Site SubMenu
		 */
//		$menu->addChild(new JMenuNode(JText::_('Site')), true);
//		$menu->addChild(new JMenuNode(JText::_('Control Panel'), 'index.php', 'class:cpanel'));
//		$menu->addSeparator();
//		if ($canManageUsers) {
//			$menu->addChild(new JMenuNode(JText::_('User Manager'), 'index.php?option=com_users&task=view', 'class:user'));
//		}
//		$menu->addChild(new JMenuNode(JText::_('Media Manager'), 'index.php?option=com_media', 'class:media'));
//		$menu->addSeparator();
//		if ($canConfig) {
//			$menu->addChild(new JMenuNode(JText::_('Configuration'), 'index.php?option=com_config', 'class:config'));
//			$menu->addSeparator();
//		}
//		$menu->addChild(new JMenuNode(JText::_('Logout'), 'index.php?option=com_login&task=logout', 'class:logout'));
//
//		$menu->getParent();

//		/*
//		 * Menus SubMenu
//		 */
//		$menu->addChild(new JMenuNode(JText::_('Menus')), true);
//		if ($manageMenuMan) {
//			$menu->addChild(new JMenuNode(JText::_('Menu Manager'), 'index.php?option=com_menus', 'class:menu'));
//		}
//		if ($manageTrash) {
//			$menu->addChild(new JMenuNode(JText::_('Menu Trash'), 'index.php?option=com_trash&task=viewMenu', 'class:trash'));
//		}
//
//		if($manageTrash || $manageMenuMan) {
//			$menu->addSeparator();
//		}
//		/*
//		 * SPLIT HR
//		 */
//		if (count($menuTypes)) {
//			foreach ($menuTypes as $menuType) {
//				$menu->addChild(new JMenuNode($menuType->title.($menuType->home ? ' *' : ''), 'index.php?option=com_menus&task=view&menutype='.$menuType->menutype, 'class:menu'));
//			}
//		}
//
//		$menu->getParent();
//
//		/*
//		 * Content SubMenu
//		 */
//		$menu->addChild(new JMenuNode(JText::_('Content')), true);
//		$menu->addChild(new JMenuNode(JText::_('Article Manager'), 'index.php?option=com_content', 'class:article'));
//		if ($manageTrash) {
//			$menu->addChild(new JMenuNode(JText::_('Article Trash'), 'index.php?option=com_trash&task=viewContent', 'class:trash'));
//		}
//		$menu->addSeparator();
//		$menu->addChild(new JMenuNode(JText::_('Section Manager'), 'index.php?option=com_sections&scope=content', 'class:section'));
//		$menu->addChild(new JMenuNode(JText::_('Category Manager'), 'index.php?option=com_categories&section=com_content', 'class:category'));
//		$menu->addSeparator();
//		$menu->addChild(new JMenuNode(JText::_('Frontpage Manager'), 'index.php?option=com_frontpage', 'class:frontpage'));
//
//		$menu->getParent();

		/*
		 * Components SubMenu
		 */
//		if ($editAllComponents)
//		{
//			$menu->addChild(new JMenuNode(JText::_('Components')), true);
//
//			$query = 'SELECT *' .
//				' FROM #__components' .
//				' WHERE '.$db->NameQuote( 'option' ).' <> "com_frontpage"' .
//				' AND '.$db->NameQuote( 'option' ).' <> "com_media"' .
//				' AND enabled = 1' .
//				' ORDER BY ordering, name';
//			$db->setQuery($query);
//			$comps = $db->loadObjectList(); // component list
//			$subs = array(); // sub menus
//			$langs = array(); // additional language files to load
//
//			// first pass to collect sub-menu items
//			foreach ($comps as $row)
//			{
//				if ($row->parent)
//				{
//					if (!array_key_exists($row->parent, $subs)) {
//						$subs[$row->parent] = array ();
//					}
//					$subs[$row->parent][] = $row;
//					$langs[$row->option.'.menu'] = true;
//				} elseif (trim($row->admin_menu_link)) {
//					$langs[$row->option.'.menu'] = true;
//				}
//			}
//
//			// Load additional language files
//			if (array_key_exists('.menu', $langs)) {
//				unset($langs['.menu']);
//			}
//			foreach ($langs as $lang_name => $nothing) {
//				$lang->load($lang_name);
//			}
//
//			foreach ($comps as $row)
//			{
//				if ($editAllComponents | $user->authorize('administration', 'edit', 'components', $row->option))
//				{
//					if ($row->parent == 0 && (trim($row->admin_menu_link) || array_key_exists($row->id, $subs)))
//					{
//						$text = $lang->hasKey($row->option) ? JText::_($row->option) : $row->name;
//						$link = $row->admin_menu_link ? "index.php?$row->admin_menu_link" : "index.php?option=$row->option";
//						if (array_key_exists($row->id, $subs)) {
//							$menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img), true);
//							foreach ($subs[$row->id] as $sub) {
//								$key  = $row->option.'.'.$sub->name;
//								$text = $lang->hasKey($key) ? JText::_($key) : $sub->name;
//								$link = $sub->admin_menu_link ? "index.php?$sub->admin_menu_link" : null;
//								$menu->addChild(new JMenuNode($text, $link, $sub->admin_menu_img));
//							}
//							$menu->getParent();
//						} else {
//							$menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img));
//						}
//					}
//				}
//			}
//			$menu->getParent();
//		}
//
//		/*
//		 * Extensions SubMenu
//		 */
//		if ($installModules)
//		{
//			$menu->addChild(new JMenuNode(JText::_('Extensions')), true);
//
//			$menu->addChild(new JMenuNode(JText::_('Install/Uninstall'), 'index.php?option=com_installer', 'class:install'));
//			$menu->addSeparator();
//			if ($editAllModules) {
//				$menu->addChild(new JMenuNode(JText::_('Module Manager'), 'index.php?option=com_modules', 'class:module'));
//			}
//			if ($editAllPlugins) {
//				$menu->addChild(new JMenuNode(JText::_('Plugin Manager'), 'index.php?option=com_plugins', 'class:plugin'));
//			}
//			if ($manageTemplates) {
//				$menu->addChild(new JMenuNode(JText::_('Template Manager'), 'index.php?option=com_templates', 'class:themes'));
//			}
//			if ($manageLanguages) {
//				$menu->addChild(new JMenuNode(JText::_('Language Manager'), 'index.php?option=com_languages', 'class:language'));
//			}
//			$menu->getParent();
//		}
//
//		/*
//		 * System SubMenu
//		 */
//		if ($canConfig || $canCheckin)
//		{
//			$menu->addChild(new JMenuNode(JText::_('Tools')), true);
//
//			if ($canConfig) {
//				$menu->addChild(new JMenuNode(JText::_('Read Messages'), 'index.php?option=com_messages', 'class:messages'));
//				$menu->addChild(new JMenuNode(JText::_('Write Message'), 'index.php?option=com_messages&task=add', 'class:messages'));
//				$menu->addSeparator();
//			}
//			if ($canMassMail) {
//				$menu->addChild(new JMenuNode(JText::_('Mass Mail'), 'index.php?option=com_massmail', 'class:massmail'));
//				$menu->addSeparator();
//			}
//			if ($canCheckin) {
//				$menu->addChild(new JMenuNode(JText::_('Global Checkin'), 'index.php?option=com_checkin', 'class:checkin'));
//				$menu->addSeparator();
//			}
//			$menu->addChild(new JMenuNode(JText::_('Clean Cache'), 'index.php?option=com_cache', 'class:config'));
//			$menu->addChild(new JMenuNode(JText::_('Purge Expired Cache'), 'index.php?option=com_cache&task=purgeadmin', 'class:config'));
//
//			$menu->getParent();
//		}

		/*
		 * Help SubMenu
//		 */
//		$menu->addChild(new JMenuNode(JText::_('Help')), true);
//		$menu->addChild(new JMenuNode(JText::_('Joomla! Help'), 'index.php?option=com_admin&task=help', 'class:help'));
//		$menu->addChild(new JMenuNode(JText::_('System Info'), 'index.php?option=com_admin&task=sysinfo', 'class:info'));
//
//		$menu->getParent();

		$menu->renderMenu('menu', '');
	}

	/**
	 * Show an disbaled version of the menu, used in edit pages
	 *
	 * @param string The current user type
	 */
	function buildDisabledMenu()
	{
		$lang	 =& JFactory::getLanguage();
		$user	 =& JFactory::getUser();
		$usertype = $user->get('usertype');

		$canConfig			= $user->authorize('com_config', 'manage');
		$installModules		= $user->authorize('com_installer', 'module');
		$editAllModules		= $user->authorize('com_modules', 'manage');
		$installPlugins		= $user->authorize('com_installer', 'plugin');
		$editAllPlugins		= $user->authorize('com_plugins', 'manage');
		$installComponents	= $user->authorize('com_installer', 'component');
		$editAllComponents	= $user->authorize('com_components', 'manage');
		$canMassMail			= $user->authorize('com_massmail', 'manage');
		$canManageUsers		= $user->authorize('com_users', 'manage');

		$text = JText::_('Menu inactive for this Page', true);

		// Get the menu object
		$menu = new JAdminCSSMenu();
        $menu->addChild(new JMenuNode(JText::_('关键字管理'), null, 'disabled'));
        
        $menu->addChild(new JMenuNode(JText::_('用户管理'), null, 'disabled'));
        $menu->addChild(new JMenuNode(JText::_('消息管理'), null, 'disabled'));
        $menu->addChild(new JMenuNode(JText::_('热词管理管理'), null, 'disabled'));
        $menu->addChild(new JMenuNode(JText::_('系统通知管理'), null, 'disabled'));
        $menu->addChild(new JMenuNode(JText::_('非法举报管理'), null, 'disabled'));
        $menu->addChild(new JMenuNode(JText::_('热门话题&正在播报'), null, 'disabled'));
        $menu->addChild(new JMenuNode(JText::_('系统统计与分析'), null, 'disabled'));
//		// Site SubMenu
//		$menu->addChild(new JMenuNode(JText::_('Site'), null, 'disabled'));
//
//		// Menus SubMenu
//		$menu->addChild(new JMenuNode(JText::_('Menus'), null, 'disabled'));
//
//		// Content SubMenu
//		$menu->addChild(new JMenuNode(JText::_('Content'), null, 'disabled'));
//
//		// Components SubMenu
//		if ($installComponents) {
//			$menu->addChild(new JMenuNode(JText::_('Components'), null, 'disabled'));
//		}
//
//		// Extensions SubMenu
//		if ($installModules) {
//			$menu->addChild(new JMenuNode(JText::_('Extensions'), null, 'disabled'));
//		}
//
//		// System SubMenu
//		if ($canConfig) {
//			$menu->addChild(new JMenuNode(JText::_('Tools'),  null, 'disabled'));
//		}
//
//		// Help SubMenu
//		$menu->addChild(new JMenuNode(JText::_('Help'),  null, 'disabled'));

		$menu->renderMenu('menu', 'disabled');
	}
}
?>
